Zum Hauptinhalt springen

Entwicklungspräfixe: get, find, fetch, load, retrieve - Unterschiede und Verwendungsregeln verstehen

  • Bei der Verwendung von Programmiersprachen werden Präfixe wie get, find, fetch, load und retrieve häufig in Methoden- oder Funktionsnamen verwendet. Sie werden häufig beim Abrufen von Daten aus Datenbanken, externen Dateien oder APIs verwendet.
  • Während der Entwicklung wollte ich Code mit Konsistenz schreiben, und ich wurde neugierig auf die Unterschiede und Anwendungsfälle dieser Präfixe. Ich habe die Unterschiede und Anwendungsfälle dieser Präfixe recherchiert.
  • Namenskonventionen können je nach Unternehmen oder Entwickler variieren. In diesem Fall habe ich versucht, häufig verwendete Regeln zu finden, aber in der Praxis können sie je nach Anwendungsfall unterschiedlich sein.
  • Obwohl diese Präfixe ähnlich erscheinen mögen, hat jedes leicht unterschiedliche Bedeutungen und Kontexte, in denen es verwendet wird. Lassen Sie uns ihre Unterschiede erkunden.
  • Ich hatte nicht die Gelegenheit, mit etablierten Entwicklungskonventionen in großen Unternehmen zu arbeiten, daher ist mein Wissen zu diesem Thema etwas begrenzt. Der Inhalt ist möglicherweise nicht vollständig genau, bitte lesen Sie ihn daher nur als Referenz.

1. get

Das Präfix get wird häufig verwendet, um auf bestimmte Werte zuzugreifen oder diese abzurufen. Dies bedeutet, dass die Operation ein einzelnes Ergebnis oder ein bestimmtes Element aus einer Sammlung zurückgibt. Zum Beispiel:

  • getUser() - Ruft ein einzelnes Benutzerobjekt ab.
  • getProductById(id) - Ruft ein Produktobjekt ab, das der angegebenen ID entspricht.
  • getUsers() - Ruft alle Benutzerobjekte ab.

2. find

Das Präfix find wird im Allgemeinen verwendet, um Elemente oder mehrere Elemente, die bestimmten Bedingungen entsprechen, zu suchen und zu finden. Der Unterschied zu get besteht darin, dass find sich mehr auf das Suchen und Finden zu konzentrieren scheint. Dies bedeutet, dass die Operation mehrere Ergebnisse oder eine Sammlung von Elementen zurückgibt. Zum Beispiel:

  • findUsersByRole(role) - Findet alle Benutzer mit einer bestimmten Rolle.
  • findProductsByCategory(category) - Findet alle Produkte, die zu einer bestimmten Kategorie gehören.
  • findUsersByAge(age) - Findet alle Benutzer eines bestimmten Alters.

2.1. find vs get

  • Obwohl dies nicht offiziell definiert ist, sind die Unterschiede zwischen find und get laut Diskussionen verschiedener Personen im Internet wie folgt:
    • get: Konzentriert sich darauf, etwas abzurufen, das definitiv bestimmt ist. Gibt ein einzelnes Ergebnis oder Element zurück und wird normalerweise nicht verwendet, wenn möglicherweise kein Ergebnis vorliegt.
    • find: Konzentriert sich auf Suchen und Finden. Gibt mehrere Ergebnisse oder eine Sammlung von Elementen zurück, und Suchergebnisse können leer sein.
  • Das Beispiel aus dem Blogbeitrag How do you use "find" vs "get" prefix? kann helfen, dieses Konzept zu verstehen. Nachfolgend finden Sie ein Beispiel aus diesem Beitrag:
    • getOneById: Wirft einen Fehler, wenn es kein Ergebnis für diese ID gibt.
    • findOneById: Gibt null zurück, wenn es kein Ergebnis für diese ID gibt.
public async getOneById(id: number): Promise<User> {
const user = await this.userRepository
.createQueryBuilder("u")
.where("u.id = :id", {id})
.getOne();

if (!user)
throw new Error(`User with ID "${id.toString()}" not found.`);

return user;
}
public async findOneById(id: number): Promise<User> {
const user = await this.userRepository
.createQueryBuilder("u")
.where("u.id = :id", {id})
.getOne();

return user;
}

3. fetch vs load vs retrieve

  • Die Präfixe fetch, load und retrieve sind weitere Präfixe, die zum Abrufen von Daten verwendet werden. Sie werden hauptsächlich zum Abrufen von Daten aus Netzwerken oder Datenbanken verwendet. Obwohl ihre Unterschiede nicht eindeutig sind, werden sie im Allgemeinen wie folgt verwendet:
    • fetch: Wird zum Abrufen von Daten aus Netzwerken verwendet. Hauptsächlich mit API-Aufrufen verbunden.
    • load: Wird häufig zum Abrufen externer Daten wie Datenbanken oder Dateidaten aus S3 verwendet.
    • retrieve: Wird zum Abrufen von Daten verwendet. Scheint weniger häufig verwendet zu werden als fetch und load.

4. Zusammenfassung

  • get wird verwendet, um ein einzelnes Ergebnis oder Element abzurufen, während find verwendet wird, um mehrere Ergebnisse oder Elemente zu suchen.
  • fetch, load und retrieve werden zum Abrufen von Daten verwendet. fetch wird zum Abrufen von Daten aus Netzwerken verwendet, load wird zum Abrufen von Datenbank- oder Dateidaten verwendet, und retrieve wird zum Abrufen von Daten verwendet.
    • Die Verwendungshäufigkeit von fetch, load und retrieve ist jedoch geringer als die von get und find, und die Unterscheidungen sind relativ weniger klar.
  • Diese Präfixe sind allgemeine Verwendungsregeln, und in der Praxis können sie je nachdem, wo sie verwendet werden, der Programmiersprache oder dem Framework variieren. Für eine genaue Verwendung konsultieren Sie bitte projektspezifische Dokumentation oder Codierungsstandards.

Referenzen